package sv.gob.mtps.hr.model;

// Generated 11-01-2012 12:36:00 PM by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * SferhExpediente generated by hbm2java
 */
@Entity
@Table(name = "sferh_expediente", schema = "new_rrhh")
public class SferhExpediente implements java.io.Serializable {

	private int idExpediente;
	private SferhEmpleado sferhEmpleado;
	private String ubicacion;
	private String ficheroNumero;
	private Date fechaCrea;
	private String usuarioCrea;
	private Date fechaMod;
	private String usuarioMod;
	private Set<SferhExpedienteXCatTipoDocRegistro> sferhExpedienteXCatTipoDocRegistros = new HashSet<SferhExpedienteXCatTipoDocRegistro>(
			0);
	private Set<SferhEmpleadoXCatTituloAcademico> sferhEmpleadoXCatTituloAcademicos = new HashSet<SferhEmpleadoXCatTituloAcademico>(
			0);
	private Set<SferhExpedienteHasTraslados> sferhExpedienteHasTrasladoses = new HashSet<SferhExpedienteHasTraslados>(
			0);

	public SferhExpediente() {
	}

	public SferhExpediente(int idExpediente, SferhEmpleado sferhEmpleado) {
		this.idExpediente = idExpediente;
		this.sferhEmpleado = sferhEmpleado;
	}

	public SferhExpediente(
			int idExpediente,
			SferhEmpleado sferhEmpleado,
			String ubicacion,
			String ficheroNumero,
			Date fechaCrea,
			String usuarioCrea,
			Date fechaMod,
			String usuarioMod,
			Set<SferhExpedienteXCatTipoDocRegistro> sferhExpedienteXCatTipoDocRegistros,
			Set<SferhEmpleadoXCatTituloAcademico> sferhEmpleadoXCatTituloAcademicos,
			Set<SferhExpedienteHasTraslados> sferhExpedienteHasTrasladoses) {
		this.idExpediente = idExpediente;
		this.sferhEmpleado = sferhEmpleado;
		this.ubicacion = ubicacion;
		this.ficheroNumero = ficheroNumero;
		this.fechaCrea = fechaCrea;
		this.usuarioCrea = usuarioCrea;
		this.fechaMod = fechaMod;
		this.usuarioMod = usuarioMod;
		this.sferhExpedienteXCatTipoDocRegistros = sferhExpedienteXCatTipoDocRegistros;
		this.sferhEmpleadoXCatTituloAcademicos = sferhEmpleadoXCatTituloAcademicos;
		this.sferhExpedienteHasTrasladoses = sferhExpedienteHasTrasladoses;
	}

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name = "id_expediente", unique = true, nullable = false)
	public int getIdExpediente() {
		return this.idExpediente;
	}

	public void setIdExpediente(int idExpediente) {
		this.idExpediente = idExpediente;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_empleado", nullable = false)
	public SferhEmpleado getSferhEmpleado() {
		return this.sferhEmpleado;
	}

	public void setSferhEmpleado(SferhEmpleado sferhEmpleado) {
		this.sferhEmpleado = sferhEmpleado;
	}

	@Column(name = "ubicacion", length = 256)
	public String getUbicacion() {
		return this.ubicacion;
	}

	public void setUbicacion(String ubicacion) {
		this.ubicacion = ubicacion;
	}

	@Column(name = "fichero_numero", length = 50)
	public String getFicheroNumero() {
		return this.ficheroNumero;
	}

	public void setFicheroNumero(String ficheroNumero) {
		this.ficheroNumero = ficheroNumero;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fecha_crea", length = 13)
	public Date getFechaCrea() {
		return this.fechaCrea;
	}

	public void setFechaCrea(Date fechaCrea) {
		this.fechaCrea = fechaCrea;
	}

	@Column(name = "usuario_crea")
	public String getUsuarioCrea() {
		return this.usuarioCrea;
	}

	public void setUsuarioCrea(String usuarioCrea) {
		this.usuarioCrea = usuarioCrea;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fecha_mod", length = 13)
	public Date getFechaMod() {
		return this.fechaMod;
	}

	public void setFechaMod(Date fechaMod) {
		this.fechaMod = fechaMod;
	}

	@Column(name = "usuario_mod")
	public String getUsuarioMod() {
		return this.usuarioMod;
	}

	public void setUsuarioMod(String usuarioMod) {
		this.usuarioMod = usuarioMod;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "sferhExpediente")
	public Set<SferhExpedienteXCatTipoDocRegistro> getSferhExpedienteXCatTipoDocRegistros() {
		return this.sferhExpedienteXCatTipoDocRegistros;
	}

	public void setSferhExpedienteXCatTipoDocRegistros(
			Set<SferhExpedienteXCatTipoDocRegistro> sferhExpedienteXCatTipoDocRegistros) {
		this.sferhExpedienteXCatTipoDocRegistros = sferhExpedienteXCatTipoDocRegistros;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "sferhExpediente")
	public Set<SferhEmpleadoXCatTituloAcademico> getSferhEmpleadoXCatTituloAcademicos() {
		return this.sferhEmpleadoXCatTituloAcademicos;
	}

	public void setSferhEmpleadoXCatTituloAcademicos(
			Set<SferhEmpleadoXCatTituloAcademico> sferhEmpleadoXCatTituloAcademicos) {
		this.sferhEmpleadoXCatTituloAcademicos = sferhEmpleadoXCatTituloAcademicos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "sferhExpediente")
	public Set<SferhExpedienteHasTraslados> getSferhExpedienteHasTrasladoses() {
		return this.sferhExpedienteHasTrasladoses;
	}

	public void setSferhExpedienteHasTrasladoses(
			Set<SferhExpedienteHasTraslados> sferhExpedienteHasTrasladoses) {
		this.sferhExpedienteHasTrasladoses = sferhExpedienteHasTrasladoses;
	}

}
